<?php

// 发布活动
// POST activity.admin.add

namespace app\api\resource\activity\admin;
use think\Db;
use think\Loader;

class Add
{
    // 方法
    public $_method = ['POST'];
    // 前置
    public $_pre    = ['adminLogin'];
    // 描述
    public $_description = '发布创业资讯';
    // 参数
    public $_param  = [
        'type'         => '类型,0-自办型 1-外链型',
        'title'        => '名称',
        'cover'        => '封面',
        'introduction' => '简介',
        'localtion'    => '模式,线上|线下:城市名称',
        'address'      => '详细地址',
        'organizers'   => '主办方',
        'sign_up_url'  => '报名链接（外链型）',
        'start_time'   => '开始时间',
        'end_time'     => '结束时间',
    ];
    // 返回
    public $_return = [
        201 => '发布成功',
        422 => '请求参数不合法',
        500 => '服务器异常',
    ];

    public function run(&$request)
    {
        $params = $request->post();

        $validate = Loader::validate('Activity');
        if ( !$validate->scene('add')->check($params) ) {
            $errMsg = $validate->getError();
            return [422,$errMsg];
        }
		
		$params['start_time'] = strtotime($params['start_time']);
		$params['end_time']   = strtotime($params['end_time']);
		
        $num = Db::name('activity')->insert($params);

        return ($num > 0) ? [ 201,[] ] : 500;
    }
}